package com.fili.core.storage;

import com.fili.core.params.DryConfig;

/**
 * Created by Claudiu-Florin FILIMON
 * Date: Oct 22, 2006
 * Time: 11:05:33 PM
 */
public class DataItemConfig
{
    private static DataItemType.Index[] ispm_data = new DataItemType.Index[]{
            DataItemType.Index.PROBE_AIR_TEMP_1,
            DataItemType.Index.PROBE_AIR_TEMP_2,
            DataItemType.Index.PROBE_WOOD_TEMP_1,
            DataItemType.Index.PROBE_WOOD_TEMP_2,
            DataItemType.Index.PROBE_WOOD_TEMP_3,
            DataItemType.Index.PROBE_WOOD_TEMP_4,
            DataItemType.Index.PROBE_WOOD_TEMP_5,
            DataItemType.Index.PROBE_WOOD_TEMP_6,
            DataItemType.Index.AVG_AIR_TEMP,
            DataItemType.Index.AVG_WOOD_TEMP,
            DataItemType.Index.CURR_HUMID,
            DataItemType.Index.WANTED_TEMP,
            DataItemType.Index.RUNNING_FAN,
            DataItemType.Index.RUNNING_HEAT
    };
    private static DataItemType.Index[] nonispm_data = new DataItemType.Index[]{
            DataItemType.Index.PROGRAM,
            DataItemType.Index.WIDTH,
            DataItemType.Index.CURR_HUMID,
            DataItemType.Index.WANTED_HUMID,
            DataItemType.Index.CURR_TEMP,
            DataItemType.Index.WANTED_TEMP,
            DataItemType.Index.CURR_UGL,
            DataItemType.Index.WANTED_UGL,
            DataItemType.Index.AVG_WOOD_HUMID,
            DataItemType.Index.PHASE,
            DataItemType.Index.PROBE_WOOD_HUMID_1,
            DataItemType.Index.PROBE_WOOD_HUMID_2,
            DataItemType.Index.PROBE_WOOD_HUMID_3,
            DataItemType.Index.PROBE_WOOD_HUMID_4,
            DataItemType.Index.PROBE_WOOD_HUMID_5,
            DataItemType.Index.PROBE_WOOD_HUMID_6,
            DataItemType.Index.RUNNING_FAN,
            DataItemType.Index.RUNNING_HEAT,
            DataItemType.Index.RUNNING_MOIST,
            DataItemType.Index.RUNNING_LIDS
    };
    private static DataItemType.Index[] combined_data = new DataItemType.Index[]{
            DataItemType.Index.PROBE_AIR_TEMP_1,
            DataItemType.Index.PROBE_AIR_TEMP_2,
            DataItemType.Index.PROBE_WOOD_TEMP_1,
            DataItemType.Index.PROBE_WOOD_TEMP_2,
            DataItemType.Index.PROBE_WOOD_TEMP_3,
            DataItemType.Index.PROBE_WOOD_TEMP_4,
            DataItemType.Index.PROBE_WOOD_TEMP_5,
            DataItemType.Index.PROBE_WOOD_TEMP_6,
            DataItemType.Index.PROBE_WOOD_HUMID_1,
            DataItemType.Index.PROBE_WOOD_HUMID_2,
            DataItemType.Index.PROBE_WOOD_HUMID_3,
            DataItemType.Index.PROBE_WOOD_HUMID_4,
            DataItemType.Index.PROBE_WOOD_HUMID_5,
            DataItemType.Index.PROBE_WOOD_HUMID_6,
            DataItemType.Index.AVG_AIR_TEMP,
            DataItemType.Index.AVG_WOOD_TEMP,
            DataItemType.Index.AVG_WOOD_HUMID,
            DataItemType.Index.CURR_TEMP,
            DataItemType.Index.CURR_UGL,
            DataItemType.Index.CURR_HUMID,
            DataItemType.Index.PHASE,
            DataItemType.Index.WIDTH,
            DataItemType.Index.SPECIES,
            DataItemType.Index.PROGRAM,
            DataItemType.Index.WANTED_TEMP,
            DataItemType.Index.WANTED_UGL,
            DataItemType.Index.WANTED_HUMID,
            DataItemType.Index.RUNNING_FAN,
            DataItemType.Index.RUNNING_HEAT,
            DataItemType.Index.RUNNING_MOIST,
            DataItemType.Index.RUNNING_LIDS
    };


    public static DataItemType.Index[] getItems()
    {
        boolean ispm = DryConfig.getConfig().getEncodedPermission().uscISPM;
        boolean nonispm = DryConfig.getConfig().getEncodedPermission().uscNormal;
        if (!nonispm)
            return ispm_data;
        if (!ispm)
            return nonispm_data;

        return combined_data;
    }
}
